package com.mldong.modules.sys.service;

import com.mldong.base.CommonPage;
import com.mldong.modules.sys.dto.DictPageParam;
import com.mldong.modules.sys.dto.DictParam;
import com.mldong.modules.sys.vo.DictVO;
import com.mldong.modules.sys.entity.Dict;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 字典 服务类
 * </p>
 *
 * @author mldong
 * @since 2022-10-23
 */
public interface DictService extends IService<Dict> {
  /**
  * 添加字典
  * @param param
  * @return
  */
  public boolean save(DictParam param);

  /**
  * 更新字典
  * @param param
  * @return
  */
  public boolean update(DictParam param);

  /**
  * 自定义分页查询字典
  * @param param
  * @return
  */
  CommonPage<DictVO> page(DictPageParam param);
  /**
  * 通过id查询
  * @param id
  * @return
  */
  DictVO findById(Long id);

  /**
   * 根据字典code获取字典项
   * @param dictType
   * @return
   */
  List<cn.hutool.core.lang.Dict> getByDictType(String dictType);

  /**
   * 通过字典唯一编码获取字典对象
   * @param dictType
   * @return
   */
  Dict selectOneByDictType(String dictType);
}
